#include <iostream>
#include <queue>

/*
 以下是 std::queue 类的一些常见成员函数和操作：

构造函数：

    queue(): 默认构造函数。
    explicit queue(const ContainerType& cont): 使用给定容器 cont 构造一个队列。

操作：

    push(const T& value): 将元素 value 追加到队列尾部。
    pop(): 弹出队列头部的元素。
    front(): 返回队列头部的元素。
    back(): 返回队列尾部的元素。

容器操作：

    empty(): 检查队列是否为空。
    size(): 返回队列中元素的数量。

注意：

std::queue 不提供直接访问元素的方法，因此无法像 std::vector 那样通过索引或迭代器直接访问队列中的元素。

 */

int main(int argc, char const *argv[])
{
    
    std::queue<int> que{};

    for (int i = 0; i < 10; i++)
    {
        que.push(rand());
    }
    int size = que.size();
    std::cout << size << std::endl;

    std::cout << que.empty() << std::endl;

    std::cout << que.front() << std::endl;
    std::cout << que.back() << std::endl;

    que.pop();
    std::cout << que.size() << std::endl;
    return 0;
}
